package com.denlaku.longan.controller;

import com.denlaku.longan.http.Return;
import com.denlaku.longan.qo.DashboardHisQuery;
import com.denlaku.longan.vo.Dashboard;
import com.denlaku.longan.vo.DashboardHis;
import com.denlaku.longan.vo.PageBy;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;

import java.util.List;

/**
 * @author tianx
 */
@RequestMapping("/api/dashboard-his")
public interface DashboardHisController {
    /**
     * 删除仪表板历史记录
     * @param query 查询参数
     * @return 响应对象
     */
    @PostMapping("/delete")
    Return<Integer> delete(DashboardHisQuery query);

    /**
     * 根据仪表板历史记录恢复仪表板
     * @param query 查询参数
     * @return 响应对象
     */
    @PostMapping("/recovery")
    Return<Void> recovery(DashboardHisQuery query);

    /**
     * 查询仪表板历史记录
     *
     * @param id 仪表板id
     * @return 响应对象
     */
    @GetMapping("/get")
    Return<Dashboard> get(Long id);

    /**
     * 查询仪表板历史记录
     * @param query 查询参数
     * @param pageBy 分页参数
     * @return 响应对象
     */
    @PostMapping("/page-list")
    Return<List<DashboardHis>> list(@RequestBody DashboardHisQuery query, PageBy pageBy);
}
